package org.example;

import java.util.HashMap;
import java.util.Map;

public class AuthDemo {
    // 模拟用户数据库
    private static final Map<String, String> USER_DB = new HashMap<>();

    static {
        USER_DB.put("admin", "admin");
        USER_DB.put("user", "user");
        USER_DB.put("root", "root");
    }

    // 模拟登录
    public static String login(String username, String password) {
        if (USER_DB.containsKey(username) && password != null && USER_DB.get(username).equals(password)) {
            String token = JwtDemo.createToken(username);
            System.out.println("登录成功token: " + token);
            return token;
        }
        System.out.println("登录失败，请检查用户名或密码");
        return null;
    }

    // 模拟需要认证的接口
    public static void protectedApi(String token) {
        if (JwtDemo.validateToken(token)) {
            System.out.println("token验证通过，访问受保护接口");
        } else {
            System.out.println("token验证失败，拒绝访问");
        }
    }

    public static void main(String[] args) {
        // 1. 用户登录获取token
        String login = login("admin", "admin");

        // 2. 使用token访问受保护接口
        protectedApi(login);
        // 3. 测试无效token
//        protectedApi("token -123");
    }
}
